ReportHTML 1.4.0.1, Cmdlets Usage, Help & Examples

Report created on Jun 8, 2017 05:37 PM
Why we wrote this PowerShell is an amazing tool for gathering, collecting, slicing, grouping, filtering and collating data. However, trying to show that information or several sets of it on one report is not as easy. A few years we ago built our own solution, we created a set of HTML reporting functions. I have been using these functions for years to help myself, my team and customers to deliver Powershell data to people that just need the details and not a CSV file or a code snippet. We’ve now decided to make these available to the rest of you.
Original Credits This code was originally borrowed from Alan Renouf for a vSphere healthcheck report by Andrew Storrs and myself for a more dynamic reporting style, being able to create reports on the fly with minimal effort.
Recent Credits Jennifier Han, Giovanni Fleres, Chris Speers, Keith Ellis, Blake and Moep
Running Reports These reports, once built can be scheduled to run, dropped on a file share emailed or saved to an Azure Storage Blob.
This Help Report Will walk through several examples of how to use the functions to generate different types of reports.
Beta Help File Please note this help is in a draft state
1.4.0.1 introduced Get-HTMLDataTable fucntion to consume HTML 5 Data tables features. Included additional java scripts and CSS styles
1.3.2.2 Added Custom footer text to Get-HTMLPageClose -FooterText 'Your text here'.
Created Functions for Heading Get-HTMLHeading, added CSS H1 to H7.
Added PowerShell Logo, usage 'PowerShell' in get-HTMLPageOpen
1.3.2.1 Updated 'Corporate' Logo and 'Alternate' logo files
1.3.2.0 Added dynamic columns function Get-HTMLColumnOpen.
Example Usage 'Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 2'
1.3.1.1 minor fixes
1.3.1.0 Sleeps removed from module, Axis Labels added to bar chart, few logic errors corrected.
Added Get-HTMLContentTableAadvanced
1.3.0.7 Added This Change Log
1.3.0.6 Added Totals to get-HTMLContentTable and associated help content
1.3.0.5 another fix to save-HTMLReport so it can handle a null reportpath.
Moved Html Help file logic to a nested psm1 file.
In addition to Creating ReportHTMLHelpers to start building more reports this module
was updated in conjunction with publishing Run-ReportAzureRBAC
1.3.0.4 Minor Fixes, Major addition a Help Report. run Get-HTMLReportHelp
1.3.0.1 Changes to allow for more flexible customization, use Chart JS for charting, working in Azure Automation and
now support HTML5 Tabs
1.3.0.0 Awesome changes here for flexibility with CSS, Logos, Chart creation and more. Hopefully there will be less
major changes from here once legacy cmdlets are removed. Feedback always welcome
1.2.0.3 Changes to add functionality for Custom CSS files and changed export to be HTML file type. The CSS and
Javascript files are now present in the module directory allowing for ease of manipulation
and customization. Get-HTMLOpen and Get-HTMLClose still present in module but
can be replaced with Get-HTMLOpenPage and Get-HTMLClosePage.
1.2.0.1 Changes (non Breaking) to add functionality for Custom CSS files and changed export to be HTML file type.
Get-HTMLOpen and Get-HTMLClose still present in module but can be replaced with
Get-HTMLOpenPage and Get-HTMLClosePage.
10.0.0.15 Thanks to Moep for fix to table row color with default values.
1.0.0.14 Added Bar chart function and -testchart switch
1.0.0.12 fixed HTML Close working on charting options
1.0.0.11 fixed HTML Close.

Creating headings Get-HTMLHeading -headerSize 1 -headingText 'This is heading 1'
Heading Tag 1
 $rpt += Get-HTMLHeading -headerSize 1 -headingText "This is heading 1" 
Heading Tag 2
 $rpt += Get-HTMLHeading -headerSize 2 -headingText "This is heading 2" 
Heading Tag 3
 $rpt += Get-HTMLHeading -headerSize 3 -headingText "This is heading 3" 
Heading Tag 4
 $rpt += Get-HTMLHeading -headerSize 4 -headingText "This is heading 4" 
Heading Tag 5
 $rpt += Get-HTMLHeading -headerSize 5 -headingText "This is heading 5" 
Heading Tag 6
 $rpt += Get-HTMLHeading -headerSize 6 -headingText "This is heading 6" 

This is heading 1

This is heading 2

This is heading 3

This is heading 4

This is heading 5
This is heading 6

Functions Each function return HTML code, the parameters you send in will be return with HTML code.
Building an Array To build a report create an array object and add parts of your report together.
Eg, create an array variable $Rpt = @()
Next add to the array.
$RPT += get-htmlpageopen -title "Welcome"
Open / Close Although these functions help you with HTML its still HTML. HTML uses tags and everything you open you must close
Get-HTMLContentOpen -HeaderText, creates a section header. You can then add other functions and code. However you must eventually add get-HTMLContentClose.
Using Indenting is an easy way to keep track of what tag your in.
Saving Reports The Array need to be saved to a file, there are a couple of options for this.
You can save the array to a file using set-content.
$rpt | set-content -path "c:\temp\MyReport.html"
You can use the Save-HTMLReport Function. There is also a save to storage azure blob option
Building Report Code
 $rpt = @()
$rpt += Get-HTMLOpenPage -TitleText "ReportHTML" 
	$rpt += Get-HTMLContentOpen 
		$rpt += Get-HTMLContentText -Heading "Header" -Detail "Detailed Information" 
	$rpt += Get-HTMLContentClose 
$rpt += Get-HTMLClosePage  
Custom Report Footer
 $rpt += Get-HTMLClosePage -FooterText "Enter Your Custom Text Here" 
Saving a Report - Write Array to file
 $rpt | set-content -path "c:\temp\MyReport.html"  
Set-Content -Value $rpt -path "c:\temp\MyReport.html"  
Invoke-item "c:\temp\MyReport.html" 
Saving a Report - Use the builtin function (1 Liner Options)
 Save-HTMLReport -Reportcontent $rpt -ReportPath c:\temp -ReportName "MyReport" -showreport
Save-HTMLReport -Reportcontent $rpt -ReportPath c:\temp -ReportName "MyReport.html" 
Save-HTMLReport -Reportcontent $rpt -ReportPath c:\temp -ReportName "MyReport" 
Save-HTMLReport -ShowReport 
$SavedFile = Save-HTMLReport -ShowReport  
Saving a Report - Save To Azure Storage Blob
 Save-HTMLToBlobStorage -Needs an Azure Account #More to come 
ReportHTML
ReportHTML

Report created on Jun 8, 2017 05:38 PM
Header Detailed Information

Mixed and Match You can use the following parameters in a mix and match format
-LeftLogoName These switch will load logos to the top left of the report from JPG files saved in the module directory. There are 4 image files in the module for examples 'Alternate','Blank','Sample' and 'Corporate' (this uses Get-HTMLLogos)
-RightLogoName These switch will load logos to the top of the report right from JPG files saved in the module directory. There are 4 image files in the module for examples 'Alternate','Blank','Sample' and 'Corporate' (this uses Get-HTMLLogos)
-LeftLogoString You can eith use a URL reference here, or Base 64 encoded string
-RightLogoString You can eith use a URL reference here, or Base 64 encoded string
-hidelogos Remove the header
-LogoPath Use in conjunction with LeftLogoName and RightLogo Name. Specify the File Name in the directory
Load Images from Files
 Get-HTMLOpenPage -TitleText "Example 1" -LeftLogoName Corporate -RightLogoName Alternate 
Example 1
Example 1

Report created on Jun 8, 2017 05:38 PM
Load Images from Files
 Get-HTMLOpenPage -TitleText "Example 2" -LeftLogoName Blank -RightLogoName Sample 
Example 2
Example 2

Report created on Jun 8, 2017 05:39 PM
Load Images from a URL
 Get-HTMLOpenPage -TitleText "Example 1" -LeftLogoString "https://azurefieldnotesblog.blob.core.windows.net/wp-content/2016/07/powershell.jpg" ` 
-RightLogoString "https://azurefieldnotesblog.blob.core.windows.net/wp-content/2016/07/datacenter.jpg"
Example 3
Example 3

Report created on Jun 8, 2017 05:39 PM
Use Base 64 code
 $OurLogos = Get-HTMLLogos 
$YourLogos = get-htmlLogos -LogoPath c:\YourPath\
$Base64Logo = $OurLogos.get_item("PowerShell")
Get-HTMLOpenPage -TitleText "Example 4" -LeftLogoName Blank -RightLogoString $Base64Logo
Base64 String data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBGRXhpZgAATU0AKgAAAAgABAESAAMAAAABAAEAAFEQAAEAA....and so on and so on
Example 4
Example 4

Report created on Jun 8, 2017 05:39 PM
We dont need no stinking logos!
 Get-HTMLOpenPage -TitleText "Example 5" -HideLogos 
Use a Logo Path
 Get-HTMLOpenPage -LogoPath "C:\path\" -LeftLogoName "NameOfFileInPath" -RightLogoName Blank 

Customzie the Look All style is in a CSS file so if you want to change it, you can
Sample Style This is just an example when you use get-htmlopenpage use the CSSName switch
use the name of the css style sheet in the directory
Usage Style Sheets are best best used in conjuction with New-HTMLReportOptions from a custom local directory
Code
 $rpt += Get-HTMLOpenPage -CSSName Sample
$rpt += Get-HTMLContentOpen "Orange"
$rpt += Get-HTMLContentText -Heading "Sample Style" -Detail "whooo, coool."
$rpt += Get-HTMLContentClose
$rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 

Creating Options You can saver the options from the Module directory locally and modify them.
for instance your logo files, css styles and even graph colour schemes
Code
 $MyPath  ='C:\temp\Custom'
if ((Test-Path $MyPath ) -eq $false) {New-Item -ItemType	Directory -Path $mypath}
New-HTMLReportOptions -SaveOptionsPath $MyPath 
$Options = new-HTMLReportOptions -CSSPath c:\temp\ -cssname sample -ColorSchemePath c:\temp\ -LogoPath c:\temp\
$Rpt = @()
$Rpt += get-htmlopenpage -TitleText "External Options" -Options $Options
$Rpt += Get-HTMLContentOpen
$Rpt += Get-HTMLContenttext -Heading "this is custom" -Detail "nice"
$Rpt += Get-HTMLContentClose
$Rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 

Tabs If you are here, you already know what tabs are. Here is the code
Code
 $tabarray = @('Sample1','Sample2','Sample3','Sample4')
$rpt = @()
$rpt += Get-HTMLOpenPage -TitleText 'Tab Test' 
$rpt += Get-HTMLTabHeader -TabNames $tabarray 
foreach ($tab in $tabarray ){
	$rpt += get-htmltabcontentopen -TabName $tab -tabheading ($tab + ' this is your tab' )
		$rpt += Get-HTMLContentText -Heading "$tab" -Detail "$tab" 
	$rpt += get-htmltabcontentclose
}
$rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 
Sample1 this is your tab
Sample1 Sample1

Sample2 this is your tab
Sample2 Sample2

Sample3 this is your tab
Sample3 Sample3

Sample4 this is your tab
Sample4 Sample4

Example
 $rpt += Get-HTMLContentOpen -HeaderText "Welcome to your content" 
	$rpt += Get-HTMLContentText -Heading "This is simple content open" -Detail "Every time you use get-htmlContentopen you need to use Get-HTMLContentClose " 
$rpt += Get-HTMLContentClose  
This is simple content open Every time you use get-htmlContentopen you need to use Get-HTMLContentClose
Example
 $process = Get-Process | select -First 10
$rpt += Get-HTMLContentOpen -HeaderText "Hiding content" -IsHidden 
	$rpt += Get-HTMLContentTable $process 
$rpt += Get-HTMLContentClose  
Example
 $process = Get-Process | select -First 10
$rpt= @()
$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 5" -BackgroundShade 5
	$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 4" -BackgroundShade 4
		$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 3" -BackgroundShade 3
			$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 2" -BackgroundShade 2
				$rpt+= Get-HTMLContentOpen -HeaderText "Background Shade level 1" -BackgroundShade 1
					$rpt+= Get-HTMLContentTable ($process | Select -First 5)
				$rpt+= Get-HTMLContentClose
			$rpt+= Get-HTMLContentClose
		$rpt+= Get-HTMLContentClose
	$rpt+= Get-HTMLContentClose
$rpt+= Get-HTMLContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Adobe CEF Helper7428Normal5194.0.0.1851103585286796083267960832
Adobe Desktop Service12028Normal9004.0.1.188557342725851545658515456
AdobeIPCBroker5456Normal2295.4.0.121042022453002245300224
AdobeUpdateService3048Normal1714.0.0.185779468822691842269184
AGSService3128Normal2594.2.0.5741331609640304644030464

Example
 $rpt += Get-HTMLContentOpen -HeaderText "Two Column Sample"
	$rpt += Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 2
	$rpt += Get-HTMLContentText -Heading "data" -Detail "here"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 2
	$rpt += Get-HTMLContentText -Heading "data" -Detail "There"
	$rpt += Get-HTMLColumnClose
$rpt += Get-HTMLContentclose

$rpt += Get-HTMLContentOpen -HeaderText "Three Column Sample"
	$rpt += Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 3
	$rpt += Get-HTMLContentText -Heading "data" -Detail "here"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 3
	$rpt += Get-HTMLContentText -Heading "data" -Detail "There"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 3
	$rpt += Get-HTMLContentText -Heading "data" -Detail "over"
	$rpt += Get-HTMLColumnClose
$rpt += Get-HTMLContentclose

$rpt += Get-HTMLContentOpen -HeaderText "Four Column Sample"
	$rpt += Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 4
	$rpt += Get-HTMLContentText -Heading "data" -Detail "here"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 4
	$rpt += Get-HTMLContentText -Heading "data" -Detail "There"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 4
	$rpt += Get-HTMLContentText -Heading "data" -Detail "over"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 4 -ColumnCount 4
	$rpt += Get-HTMLContentText -Heading "data" -Detail "where"
	$rpt += Get-HTMLColumnClose
$rpt += Get-HTMLContentclose

$rpt += Get-HTMLContentOpen -HeaderText "Five Column Sample"
	$rpt += Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "here"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "There"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "over"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 4 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "where"
	$rpt += Get-HTMLColumnClose
	$rpt += Get-HTMLColumnOpen -ColumnNumber 5 -ColumnCount 5
	$rpt += Get-HTMLContentText -Heading "data" -Detail "why"
	$rpt += Get-HTMLColumnClose
$rpt += Get-HTMLContentclose 
data here
data there
data here
data there
data over
data here
data there
data over
data where
data here
data there
data over
data where
data why
Example
 $MyProcesses= get-process | select Name,Id,PriorityClass,PagedMemorySize
$rpt= @()
$rpt+= Get-HtmlContentOpen -BackgroundShade 3 -HeaderText "Top and Bottom 5 Process"
	$rpt+= get-HtmlColumn1of2
		$rpt+= Get-HtmlContentOpen -BackgroundShade 2 -HeaderText 'Bottom 5 Process by Paged Memory'
			$rpt+= Get-HtmlContentTable  ($MyProcesses  | sort PagedMemorySize | select -First 5) 
		$rpt+= Get-HtmlContentClose
	$rpt+= get-htmlColumnClose
	$rpt+= get-htmlColumn2of2
		$rpt+= Get-HtmlContentOpen -BackgroundShade 2 -HeaderText 'Top 5 Process by Paged Memory'
			$rpt+= Get-HtmlContentTable  ($MyProcesses | sort PagedMemorySize | select -last 5) 
		$rpt+= Get-HtmlContentClose
	$rpt+= get-htmlColumnClose
$rpt+= Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersion
Adobe CEF Helper7428Normal5194.0.0.185
RegSrvc3096Normal14419, 1, 0, 0
RtkAudioService641484Normal1991, 0, 0, 74
RtkNGUI648916Normal3411.0.562.0
RTS3App6492Normal11073.3.61216.61216
NameIdPriorityClassHandlesFileVersion
dwm1056High67410.0.14393.0 (rs1_release.160715-1616)
esif_assist_645684Normal368.2.10900.330
esif_uf2272High1068.2.10900.330
explorer5308Normal262210.0.14393.0 (rs1_release.160715-1616)
ZeroConfigService3184Normal29419, 1, 0, 0

Sortable Headers Simple Tables are sortable click the header
No Sortable Headers to remove sort from non grouped tables use -NoSortableHeader
Code
 $SampleList = get-process | select Name,Id,PriorityClass,PagedMemorySize,PrivateMemorySize,VirtualMemorySize -First 10 
$rpt= @() 
$rpt+= Get-HtmlContentOpen -HeaderText "Processes"
	$rpt+= Get-HtmlContentTable $SampleList 
$rpt+= Get-HtmlContentClose  
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Adobe CEF Helper7428Normal5194.0.0.1851103585286796083267960832
Adobe Desktop Service12028Normal9004.0.1.188557342725851545658515456
AdobeIPCBroker5456Normal2295.4.0.121042022453002245300224
AdobeUpdateService3048Normal1714.0.0.185779468822691842269184
AGSService3128Normal2594.2.0.5741331609640304644030464
ApplicationFrameHost5560Normal53510.0.14393.0 (rs1_release.160715-1616)528343042002944020029440
AvanadeMobileMediaReminderClient12064Normal2901.0.0.0266362883160064031600640
browser_broker10716Normal36011.00.14393.1198 (rs1_release_sec.170427-1353)1755545642967044296704
CcmExec2164Normal12295.00.8458.1000 (SCCM.161026-2255)580280324073062440730624
CCXProcess12864Normal561.5.0.3233305472753664753664
Using Expressions If you want to rename your column header or use calculated columns you can use expressions.
@{Name="Virtual Memory Size";Expression={$_.VirtualMemorySize / 1Kb }
Code
 $SampleList = get-process 
$rpt= @()
$rpt+= Get-HtmlContentOpen -HeaderText "Processes" 
	$rpt+= Get-HtmlContentTable $SampleList 
$rpt+= Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Normal
Adobe CEF Helper74285194.0.0.1851103585286796083267960832
Adobe Desktop Service120289004.0.1.188557342725851545658515456
AdobeIPCBroker54562295.4.0.121042022453002245300224
AdobeUpdateService30481714.0.0.185779468822691842269184
AGSService31282594.2.0.5741331609640304644030464
ApplicationFrameHost556053510.0.14393.0 (rs1_release.160715-1616)528343042002944020029440
AvanadeMobileMediaReminderClient120642901.0.0.0266362883160064031600640
browser_broker1071636011.00.14393.1198 (rs1_release_sec.170427-1353)1755545642967044296704
CcmExec216412295.00.8458.1000 (SCCM.161026-2255)580280324073062440730624
CCXProcess12864561.5.0.3233305472753664753664
chrome3224558.0.3029.110228188162811494428114944
chrome302424358.0.3029.110238018563627008036270080
chrome367227158.0.3029.110566108167811481678114816
chrome474826658.0.3029.110232202242843033628430336
chrome483227458.0.3029.110283688963078144030781440
chrome500023558.0.3029.110227860482995404829954048
chrome531623558.0.3029.110271769603027763230277632
chrome736026658.0.3029.110243507203787980837879808
Idle
chrome632035458.0.3029.11065679360216309760216309760
chrome713638358.0.3029.110169099264199229440199229440
Column Width Sometimes you may be display data and the column will dynamically shift. You can use the -fixed switch
Code
 $SampleList3 = get-process
$rpt = @()
$rpt += Get-HtmlContentOpen -HeaderText "Processes, 2 fixed table one not."
$rpt += Get-HtmlContentTable -ArrayOfObjects ($SampleList3 | select -first 4) -Fixed
$rpt += Get-HTMLContentText -Heading ' ' -Detail ' '
$rpt += Get-HtmlContentTable -ArrayOfObjects ($SampleList3 | select -last 4) -Fixed
$rpt += Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Adobe CEF Helper7428Normal5194.0.0.1851103585286796083267960832
Adobe Desktop Service12028Normal9004.0.1.188557342725851545658515456
AdobeIPCBroker5456Normal2295.4.0.121042022453002245300224
AdobeUpdateService3048Normal1714.0.0.185779468822691842269184
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
WmiPrvSE4168Normal33810.0.14393.0 (rs1_release.160715-1616)180428801221427212214272
WmiPrvSE6400Normal31910.0.14393.0 (rs1_release.160715-1616)1683865655746565574656
WmiPrvSE8448Normal20710.0.14393.0 (rs1_release.160715-1616)1141964840222724022272
WmiPrvSE8608Normal15810.0.14393.0 (rs1_release.160715-1616)817971231252483125248
WmiPrvSE10900Normal12610.0.14393.0 (rs1_release.160715-1616)759398428426242842624
WmiPrvSE14388Normal17310.0.14393.0 (rs1_release.160715-1616)1128448049356804935680
WUDFHost2600High34410.0.14393.0 (rs1_release.160715-1616)129474562614886426148864
ZeroConfigService3184Normal29419, 1, 0, 01610547253370885337088
Tables Totals Want to add count, Avg or Sum to the bottom of a table. These three array variables expect a header from the arrayofobjects.
Code
 $arrayofobjects = Get-Process | select Name, Handles ,WorkingSet ,PagedMemorySize ,PrivateMemorySize 
$rpt = @()
$rpt += Get-HTMLOpenPage 
$rpt += Get-HtmlContentOpen -HeaderText "Processes, Table Footer with Sum, Count and Average
$rpt += Get-HTMLContentTable $arrayofobjects  -ColumnTotals WorkingSet, PagedMemorySize   -columnCounts Handles,Name -columnAverages PrivateMemorySize  
$rpt += Get-HtmlContentClose
$rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 
NameHandlesWorkingSetPagedMemorySizePrivateMemorySize
Adobe CEF Helper5191103585286796083267960832
Adobe Desktop Service900557342725851545658515456
AdobeIPCBroker2291042022453002245300224
AdobeUpdateService171779468822691842269184
AGSService2591331609640304644030464
count:5count:5sum:197623808sum:138076160avg:27615232
Code
 $MyPC  = get-wmiobject Win32_ComputerSystem -cn $env:COMPUTERNAME | select @{name="RAM";Expression={"{0:N2}" -f($_.TotalPhysicalMemory/1gb).tostring("N0")}}, ` 
	NumberOfProcessors,NumberOfLogicalProcessors ,Name,Model,roles
$rpt = @()
$rpt += get-htmlopenpage 
$rpt += Get-HtmlContentOpen -HeaderText "Table With array in column"
$rpt += Get-HTMLContentTableAdvanced $MyPC
$rpt += Get-HtmlContentClose
$rpt += get-htmlclosepage 
Save-HTMLReport -ReportContent $rpt -ShowReport 
Tables displaying Arrays in Arrays Adding an array with another array in it, doesnt display correctly. Roles is an Array
Code Borrowed from here EnhancedHTML2 I would suggest for advanced tables use this module
Usage You can simply run your array through the enhancedHTML2 functions and add it to $RPT
ModelNameNumberOfLogicalProcessorsNumberOfProcessorsRAMroles
Precision 5510WIN-L2UJU0II918116LM_Workstation LM_Server NT

Code
 $Rpt = @()
$Rpt += get-htmlopenpage -TitleText "Data tables" 
$Rpt += Get-HTMLContentOpen
$Rpt += get-htmlcontentdatatable -ArrayOfObjects (Get-Command -Module ReportHTML | select Name,version,modulename,verb,noun) 
$Rpt += Get-HTMLContentClose
$Rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 
NameVersionModuleNameVerbNoun
Connect-HTMLToAzure1.4.0.1ReportHTMLConnectHTMLToAzure
GenerateRandomColorScheme1.4.0.1ReportHTML
Get-Functions1.4.0.1ReportHTMLGetFunctions
Get-HTMLAnchor1.4.0.1ReportHTMLGetHTMLAnchor
Get-HTMLAnchorLink1.4.0.1ReportHTMLGetHTMLAnchorLink
Get-HTMLBarChart1.4.0.1ReportHTMLGetHTMLBarChart
Get-HTMLBarChartObject1.4.0.1ReportHTMLGetHTMLBarChartObject
Get-HTMLClosePage1.4.0.1ReportHTMLGetHTMLClosePage
Get-HTMLCodeBlock1.4.0.1ReportHTMLGetHTMLCodeBlock
Get-HTMLColorSchemes1.4.0.1ReportHTMLGetHTMLColorSchemes
Get-HTMLColumn1of21.4.0.1ReportHTMLGetHTMLColumn1of2
Get-HTMLColumn2of21.4.0.1ReportHTMLGetHTMLColumn2of2
Get-HTMLColumnClose1.4.0.1ReportHTMLGetHTMLColumnClose
Get-HTMLColumnOpen1.4.0.1ReportHTMLGetHTMLColumnOpen
Get-HTMLContentClose1.4.0.1ReportHTMLGetHTMLContentClose
Get-HTMLContentDataTable1.4.0.1ReportHTMLGetHTMLContentDataTable
Get-HTMLContentOpen1.4.0.1ReportHTMLGetHTMLContentOpen
Get-HTMLContentTable1.4.0.1ReportHTMLGetHTMLContentTable
Get-HTMLContentTableAdvanced1.4.0.1ReportHTMLGetHTMLContentTableAdvanced
Get-HTMLContentText1.4.0.1ReportHTMLGetHTMLContentText
Get-HTMLCSS1.4.0.1ReportHTMLGetHTMLCSS
Get-HTMLHeading1.4.0.1ReportHTMLGetHTMLHeading
Get-HTMLJavaScripts1.4.0.1ReportHTMLGetHTMLJavaScripts
Get-HTMLLogos1.4.0.1ReportHTMLGetHTMLLogos
Get-HTMLOpenPage1.4.0.1ReportHTMLGetHTMLOpenPage
Get-HTMLPieChart1.4.0.1ReportHTMLGetHTMLPieChart
Get-HTMLPieChartObject1.4.0.1ReportHTMLGetHTMLPieChartObject
Get-HTMLPowerShellSyntax1.4.0.1ReportHTMLGetHTMLPowerShellSyntax
Get-HTMLSpan1.4.0.1ReportHTMLGetHTMLSpan
Get-HTMLTabContentClose1.4.0.1ReportHTMLGetHTMLTabContentClose
Get-HTMLTabContentOpen1.4.0.1ReportHTMLGetHTMLTabContentOpen
Get-HTMLTabHeader1.4.0.1ReportHTMLGetHTMLTabHeader
Get-Parameters1.4.0.1ReportHTMLGetParameters
grc1.4.0.1ReportHTML
New-HTMLReportOptions1.4.0.1ReportHTMLNewHTMLReportOptions
Save-HTMLReport1.4.0.1ReportHTMLSaveHTMLReport
Save-HTMLToBlobStorage1.4.0.1ReportHTMLSaveHTMLToBlobStorage
Send-HTMLReport1.4.0.1ReportHTMLSendHTMLReport
Set-TableRowColor1.4.0.1ReportHTMLSetTableRowColor
NameVersionModuleNameVerbNoun
Code
 $arr = (Get-Command -Module ReportHTML | select Name,version,modulename,verb,noun) 
$Rpt = @()
$Rpt += get-htmlopenpage -TitleText "Data tables" 
$Rpt += Get-HTMLContentOpen
$Rpt += get-htmlcontentdatatable -ArrayOfObjects $arr -HideFooter -PagingOptions '11,14,21,'
#$Rpt += get-htmlcontentdatatable -ArrayOfObjects $arr -HideFooter -PagingOptions ' ' #to show all use -PagingOptions ' ' 
$Rpt += Get-HTMLContentClose
$Rpt += Get-HTMLClosePage
Save-HTMLReport -ReportContent $rpt -ShowReport 
NameVersionModuleNameVerbNoun
Connect-HTMLToAzure1.4.0.1ReportHTMLConnectHTMLToAzure
GenerateRandomColorScheme1.4.0.1ReportHTML
Get-Functions1.4.0.1ReportHTMLGetFunctions
Get-HTMLAnchor1.4.0.1ReportHTMLGetHTMLAnchor
Get-HTMLAnchorLink1.4.0.1ReportHTMLGetHTMLAnchorLink
Get-HTMLBarChart1.4.0.1ReportHTMLGetHTMLBarChart
Get-HTMLBarChartObject1.4.0.1ReportHTMLGetHTMLBarChartObject
Get-HTMLClosePage1.4.0.1ReportHTMLGetHTMLClosePage
Get-HTMLCodeBlock1.4.0.1ReportHTMLGetHTMLCodeBlock
Get-HTMLColorSchemes1.4.0.1ReportHTMLGetHTMLColorSchemes
Get-HTMLColumn1of21.4.0.1ReportHTMLGetHTMLColumn1of2
Get-HTMLColumn2of21.4.0.1ReportHTMLGetHTMLColumn2of2
Get-HTMLColumnClose1.4.0.1ReportHTMLGetHTMLColumnClose
Get-HTMLColumnOpen1.4.0.1ReportHTMLGetHTMLColumnOpen
Get-HTMLContentClose1.4.0.1ReportHTMLGetHTMLContentClose
Get-HTMLContentDataTable1.4.0.1ReportHTMLGetHTMLContentDataTable
Get-HTMLContentOpen1.4.0.1ReportHTMLGetHTMLContentOpen
Get-HTMLContentTable1.4.0.1ReportHTMLGetHTMLContentTable
Get-HTMLContentTableAdvanced1.4.0.1ReportHTMLGetHTMLContentTableAdvanced
Get-HTMLContentText1.4.0.1ReportHTMLGetHTMLContentText
Get-HTMLCSS1.4.0.1ReportHTMLGetHTMLCSS
Get-HTMLHeading1.4.0.1ReportHTMLGetHTMLHeading
Get-HTMLJavaScripts1.4.0.1ReportHTMLGetHTMLJavaScripts
Get-HTMLLogos1.4.0.1ReportHTMLGetHTMLLogos
Get-HTMLOpenPage1.4.0.1ReportHTMLGetHTMLOpenPage
Get-HTMLPieChart1.4.0.1ReportHTMLGetHTMLPieChart
Get-HTMLPieChartObject1.4.0.1ReportHTMLGetHTMLPieChartObject
Get-HTMLPowerShellSyntax1.4.0.1ReportHTMLGetHTMLPowerShellSyntax
Get-HTMLSpan1.4.0.1ReportHTMLGetHTMLSpan
Get-HTMLTabContentClose1.4.0.1ReportHTMLGetHTMLTabContentClose
Get-HTMLTabContentOpen1.4.0.1ReportHTMLGetHTMLTabContentOpen
Get-HTMLTabHeader1.4.0.1ReportHTMLGetHTMLTabHeader
Get-Parameters1.4.0.1ReportHTMLGetParameters
grc1.4.0.1ReportHTML
New-HTMLReportOptions1.4.0.1ReportHTMLNewHTMLReportOptions
Save-HTMLReport1.4.0.1ReportHTMLSaveHTMLReport
Save-HTMLToBlobStorage1.4.0.1ReportHTMLSaveHTMLToBlobStorage
Send-HTMLReport1.4.0.1ReportHTMLSendHTMLReport
Set-TableRowColor1.4.0.1ReportHTMLSetTableRowColor

Alternating Row Colour How to set alternating row colour on an array
Code
 $SampleList = get-process | select -First 20
$rpt= @()
$rpt+= Get-HtmlContentOpen -HeaderText "Processes"
$SampleListColour = Set-TableRowColor $SampleList2 -Alternating
$rpt+= Get-HtmlContentTable -ArrayOfObjects $SampleListColour 
$rpt+= Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
Adobe CEF Helper7428Normal5194.0.0.1851103585286796083267960832
Adobe Desktop Service12028Normal9004.0.1.188557342725851545658515456
AdobeIPCBroker5456Normal2295.4.0.121042022453002245300224
AdobeUpdateService3048Normal1714.0.0.185779468822691842269184
AGSService3128Normal2594.2.0.5741331609640304644030464
ApplicationFrameHost5560Normal53510.0.14393.0 (rs1_release.160715-1616)528343042002944020029440
AvanadeMobileMediaReminderClient12064Normal2901.0.0.0266362883160064031600640
browser_broker10716Normal36011.00.14393.1198 (rs1_release_sec.170427-1353)1755545642967044296704
CcmExec2164Normal12295.00.8458.1000 (SCCM.161026-2255)580280324073062440730624
CCXProcess12864Normal561.5.0.3233305472753664753664
chrome32Normal24558.0.3029.110228188162811494428114944
chrome3024Normal24358.0.3029.110238018563627008036270080
chrome3672Normal27158.0.3029.110566108167811481678114816
chrome4748Normal26658.0.3029.110232202242843033628430336
chrome4832Normal27458.0.3029.110283688963078144030781440
chrome5000Normal23558.0.3029.110227860482995404829954048
chrome5316Normal23558.0.3029.110271769603027763230277632
chrome6320Idle35458.0.3029.11065679360216309760216309760
chrome7136Idle38358.0.3029.110169099264199229440199229440
chrome7360Normal26658.0.3029.110243507203787980837879808
How to add colours to tables You can apply colours to a row using logic.
Code
 # You must use single quotes here for the expression
$Red = '$this.Handles   -ge 800'
$Yellow = '$this.Handles   -gt 200 -or $this.Handles -lt 800'
$Green = '$this.Handles  -le 200'
 
# call the function and pass the array and color expressions
$ProcessColoured = Set-TableRowColor ($process | select -first 40) -Red $Red -Yellow $Yellow -Green $Green
 
# let's just see what the function did
$ProcessColoured | select name, Handles , RowColor 
 
$rpt = @()
$rpt += Get-HtmlContentOpen -HeaderText "Process with Row Colour Logic"
$rpt += Get-HtmlContentTable  ($ProcessColoured | Sort Handles) 
$rpt += Get-HtmlContentClose 
NameIdPriorityClassHandlesFileVersionWorkingSetPrivateMemorySizePagedMemorySize
CCXProcess12864Normal561.5.0.3233305472753664753664
chrome9628Normal12958.0.3029.110877363220316162031616
AdobeUpdateService3048Normal1714.0.0.185779468822691842269184
AdobeIPCBroker5456Normal2295.4.0.121042022453002245300224
chrome8384Normal23558.0.3029.110247111682864742428647424
chrome11384Normal23558.0.3029.110242237442804531228045312
chrome5316Normal23558.0.3029.110271769603027763230277632
chrome5000Normal23558.0.3029.110227860482995404829954048
chrome9976Normal23558.0.3029.110272793602917990429179904
chrome9924Normal23558.0.3029.110280616969360179293601792
chrome8752Normal23558.0.3029.110244858882884403228844032
chrome9400Normal23558.0.3029.110218521602562048025620480
chrome9392Normal23658.0.3029.110396025856502222848502222848
chrome13952Normal23658.0.3029.110390225925722112057221120
chrome3024Normal24358.0.3029.110238018563627008036270080
chrome10032Normal24358.0.3029.110388669444145561641455616
chrome8876Normal24358.0.3029.110285204486540083265400832
chrome9448Normal24358.0.3029.110293847043321036833210368
chrome11200Normal24558.0.3029.110231628803103539231035392
chrome32Normal24558.0.3029.110228188162811494428114944
AGSService3128Normal2594.2.0.5741331609640304644030464
chrome7360Normal26658.0.3029.110243507203787980837879808
chrome4748Normal26658.0.3029.110232202242843033628430336
chrome3672Normal27158.0.3029.110566108167811481678114816
chrome4832Normal27458.0.3029.110283688963078144030781440
chrome7856Normal27558.0.3029.110710696965881036858810368
chrome10704Normal28458.0.3029.110281108483321036833210368
AvanadeMobileMediaReminderClient12064Normal2901.0.0.0266362883160064031600640
chrome8660Normal33158.0.3029.110834355221422082142208
chrome8692Idle35258.0.3029.11081715200173948928173948928
chrome6320Idle35458.0.3029.11065679360216309760216309760
browser_broker10716Normal36011.00.14393.1198 (rs1_release_sec.170427-1353)1755545642967044296704
chrome7136Idle38358.0.3029.110169099264199229440199229440
chrome13284Normal40958.0.3029.110136060928237957120237957120
chrome10312Normal45158.0.3029.110338718720408862720408862720
Adobe CEF Helper7428Normal5194.0.0.1851103585286796083267960832
ApplicationFrameHost5560Normal53510.0.14393.0 (rs1_release.160715-1616)528343042002944020029440
Adobe Desktop Service12028Normal9004.0.1.188557342725851545658515456
CcmExec2164Normal12295.00.8458.1000 (SCCM.161026-2255)580280324073062440730624
chrome9412Normal336458.0.3029.110315195392337027072337027072

Chart JS Rather than reinvent charting and because we wanted to be able to generate charts in Azure Automation I used Chart JS
Chart JS Project Chart JS Site Simple HTML5 charts using the canvas element.
Possiblities I will explain a few example and how the chart bject works for rapid creation however you can always create your own chart code and add it
Simple Example
 $Process = Get-Process
$PieProcess = $process | group ProcessName | sort count -Descending |select -First 5

$PieObject = Get-HTMLPieChartObject

$rpt = @()
$rpt += Get-HTMLOpenpage
	$rpt += Get-HTMLContentOpen	 -HeaderText "Simple Example"
		$rpt += Get-HTMLPieChart -ChartObject $PieObject -DataSet $PieProcess 
	$rpt += Get-HTMLContentClose
$rpt += Get-HTMLClosePage

save-htmlreport -reportcontent $rpt -showreport  
Advanced Example
 $Process = Get-Process
$PieProcess2 = $process | group ProcessName | sort count -Descending |select -First 5

#basic Properties 
$PieObject2 = Get-HTMLPieChartObject
$PieObject2.Title = "Top Processes"
$PieObject2.Size.Height =250
$PieObject2.Size.width =250
$PieObject2.ChartStyle.ChartType = 'doughnut'

#These file exist in the module directoy, There are 4 schemes by default
$PieObject2.ChartStyle.ColorSchemeName = "ColorScheme4"
#There are 8 generated schemes, randomly generated at runtime 
$PieObject2.ChartStyle.ColorSchemeName = "Generated8"
#you can also ask for a random scheme.  Which also happens if you have too many records for the scheme
$PieObject2.ChartStyle.ColorSchemeName = 'Random'

#Data defintion you can reference any column from name and value from the  dataset.  
#Name and Count are the default to work with the Group function.
$PieObject2.DataDefinition.DataNameColumnName ='Name'
$PieObject2.DataDefinition.DataValueColumnName = 'Count'

$rpt = @()
$rpt += Get-HTMLopenpage -TitleText Title
	$rpt += Get-HTMLContentOpen -HeaderText "Advanced Example"
		$rpt += Get-HTMLPieChart -ChartObject $PieObject2 -DataSet $PieProcess 
	$rpt += Get-HTMLContentClose
$rpt += Get-HTMLclosepage

save-htmlreport -reportcontent $rpt -showreport  
Bar Chart Example
 $Process = Get-Process
$BarProcess = $process | group Name | sort count -Descending |select -First 10

$ChartExample3 = @()
$ChartExample3 += Get-HTMLContentOpen -HeaderText "Simple Bar Example"
$BarObject = Get-HTMLBarChartObject
$ChartExample3 += Get-HTMLBarChart -ChartObject $BarObject -DataSet $BarProcess 
$ChartExample3 += Get-HTMLContentClose

save-htmlreport -reportcontent $rpt -showreport  

Scripts There are a couple of scripts that are located in the module directory.
These scripts are loaded when you run Get-HTMLopenpage.
you can use Get-HTMLJavaScripts to retrieve them . What this means though
is that you can simply drop your own javascripts into the directory,
or use the function to point at another directory and load custom code.

HTML You can use any html tags and code and add it directy to the Report array
Tags in text you can use things like < B R >
for example in a string for a break
Convertto-advhtml you can trying using this cmdlet ConvertTo-AdvHTML'
Adding it to the array just keep adding it to $rpt += $newcode
Get-HTMLCodeBlock To create this help file I just created get-htmlcodeblock so I could use the < PRE > HTML tag.
I decided that I would pass the code block into the function and choose a style and wrap the code in the tags
I had to add a CSS style to the CSS file to support this function
PowerShell Function
 Function Get-HTMLCodeBlock
{
	[CmdletBinding()]
	Param 
	(
		[Parameter(Mandatory=$true)]
        [String]
        $Code,
		[Parameter(Mandatory=$false)]
        [String]
        $Style = 'PowerShell'
	)
	$CodeBlock = @()
	switch ($Style) {
		'PowerShell'
		{
			$CodeBlock += '
'
		}
		'othercodestyleneedsACSSStyle'
		{
			$CodeBlock += '
'
		}
		default 
		{
			$CodeBlock += '
'
		}
	}
	
	$CodeBlock  += $Code
	$CodeBlock  += '
' [string]$CodeBlock = $CodeBlock Write-Output $CodeBlock }
PowerShell Code
 
    $SampleCode=@'
    $Tab = 'JavaScript'
      $rpt += get-htmltabcontentopen -TabName $Tab -tabheading ' '
            $rpt += Get-HTMLContentOpen -HeaderText 'The Basics' 
                  $rpt += Get-HTMLContentText -Heading "Scripts" -detail "There are a couple of scripts that are located in the module directory"
            $rpt += Get-HTMLContentClose
      $rpt += get-htmltabcontentclose
    '@

    $rpt += Get-HTMLContentText -Heading "PowerShell Function" -detail (get-htmlcodeblock -style powershell -code $SampleCode)

 
Output
 $Tab = 'JavaScript'
  $rpt += get-htmltabcontentopen -TabName $Tab -tabheading ' '
        $rpt += Get-HTMLContentOpen -HeaderText 'The Basics' 
              $rpt += Get-HTMLContentText -Heading "Scripts" -detail "There are a couple of scripts that are located in the module directory"
        $rpt += Get-HTMLContentClose
  $rpt += get-htmltabcontentclose 

Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List Back To Function List
Name Connect-HTMLToAzure
Synopsis Connect-HTMLToAzure [[-connectionName] ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
connectionNameObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name GenerateRandomColorScheme
Synopsis Generate a colour scheme
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
NumberOfSchemesInt32FalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-Functions
Synopsis Get-Functions [[-pattern] ] [[-path] ] [-Recurse]
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
patternObjectFalseFalse
pathObjectFalseFalse
RecurseBooleanFalseFalse
Back To Function List
Name Get-HTMLAnchor
Synopsis creates an Anchor
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
AnchorNameStringTrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLAnchorLink
Synopsis creates Hyperlink for an Anchor
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
AnchorNameStringFalseFalse
AnchorTextStringTrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLBarChart
Synopsis
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ChartObjectObjectTrueFalse
DataSetArrayTrueFalse
OptionsObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLBarChartObject
Synopsis create a Bar chart object for use with Get-HTMLBarChart
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ColorSchemeObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLClosePage
Synopsis Get's the closing segment for the HTML
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
FooterTextStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLCodeBlock
Synopsis Get-HTMLCodeBlock [-Code] [[-Style] ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
CodeStringTrueFalse
StyleStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColorSchemes
Synopsis Get-HTMLColorSchemes [[-SchemePath] ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
SchemePathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColumn1of2
Synopsis adds a row colour field to the array of object for processing with htmltable
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColumn2of2
Synopsis adds a row colour field to the array of object for processing with htmltable
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColumnClose
Synopsis Closing Div Tag
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLColumnOpen
Synopsis Dynamic Column Creation
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ColumnNumberInt32TrueFalse
ColumnCountInt32TrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentClose
Synopsis Closes an HTML section
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentDataTable
Synopsis Creates an HTML 5 Data table from an array of objects
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ArrayOfObjectsArrayTrueTrue
DisablePagingBooleanFalseFalse
PagingOptionsStringFalseFalse
DisableOrderingBooleanFalseFalse
DisableInfoBooleanFalseFalse
HideFooterBooleanFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentOpen
Synopsis Creates a section in HTML
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
HeaderTextStringFalseFalse
IsHiddenBooleanFalseFalse
AnchorStringFalseFalse
BackgroundShadeInt32FalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentTable
Synopsis Creates an HTML table from an array of objects
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ArrayOfObjectsArrayFalseFalse
GroupByStringFalseFalse
ColumnCountsArrayFalseFalse
FixedBooleanFalseFalse
ColumnAveragesArrayFalseFalse
NoSortableHeaderBooleanFalseFalse
ColumnTotalsArrayFalseFalse
Back To Function List
Name Get-HTMLContentTableAdvanced
Synopsis Code borrowed from https://www.powershellgallery.com/packages/EnhancedHTML2
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ArrayOfObjectsArrayTrueTrue
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLContentText
Synopsis Creates an HTML entry with heading and detail
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
HeadingStringFalseFalse
DetailStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLCSS
Synopsis Get's HTML Cascading Style Sheet
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
CSSPathStringFalseFalse
CSSNameStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLHeading
Synopsis Get-HTMLHeading [[-headingText] ] [[-headerSize] ]
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
headingTextStringFalseFalse
headerSizeInt32FalseFalse
Back To Function List
Name Get-HTMLJavaScripts
Synopsis Get's Script File from module directory
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ScriptPathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLLogos
Synopsis Get Base64 HTML
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
LogoPathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLOpenPage
Synopsis Get's HTML for the header of the HTML report
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
explicit
TitleTextStringFalseFalse
CSSPathStringFalseFalse
CSSNameStringFalseFalse
ScriptPathStringFalseFalse
ColorSchemePathStringFalseFalse
LogoPathStringFalseFalse
LeftLogoNameStringFalseFalse
RightLogoNameStringFalseFalse
LeftLogoStringStringFalseFalse
RightLogoStringStringFalseFalse
HideLogosBooleanFalseFalse
HideTitleBooleanFalseFalse
NoScriptBooleanFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
options
TitleTextStringFalseFalse
HideLogosBooleanFalseFalse
HideTitleBooleanFalseFalse
NoScriptBooleanFalseFalse
OptionsPSObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLPieChart
Synopsis
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ChartObjectObjectTrueFalse
DataSetArrayTrueFalse
OptionsObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLPieChartObject
Synopsis create a Bar chart object for use with Get-HTMLBarChart
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ChartTypeStringFalseFalse
ColorSchemeObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLPowerShellSyntax
Synopsis Get-HTMLPowerShellSyntax [[-PowerShellFilePath] ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
PowerShellFilePathObjectFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLReportHelp
Synopsis Get-HTMLReportHelp [-GenerateReport]
Remarks None
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
GenerateReportBooleanFalseFalse
Back To Function List
Name Get-HTMLSpan
Synopsis Get-HTMLSpan [[-block] ] [[-tokenColor] ]
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
blockObjectFalseFalse
tokenColorObjectFalseFalse
Back To Function List Back To Function List
Name Get-HTMLTabContentOpen
Synopsis Get-HTMLTabContentOpen [-TabName] [-TabHeading] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
TabNameStringTrueFalse
TabHeadingStringTrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-HTMLTabHeader
Synopsis Get-HTMLTabHeader [-TabNames] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
TabNamesArrayTrueFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Get-Parameters
Synopsis Get-Parameters [[-Cmdlet] ] [-ShowCommon] [-Full]
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
CmdletObjectFalseFalse
ShowCommonBooleanFalseFalse
FullBooleanFalseFalse
Back To Function List
grc
Name grc
Synopsis Random colour Function
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
MinInt32FalseFalse
maxInt32FalseFalse
Back To Function List
in
Name In
Synopsis A convenience function that executes a script from a specified path.
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
pathObjectFalseFalse
executeScriptBlockFalseFalse
Back To Function List
in
Name In
Synopsis A convenience function that executes a script from a specified path.
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
pathObjectFalseFalse
executeScriptBlockFalseFalse
Back To Function List
in
Name In
Synopsis A convenience function that executes a script from a specified path.
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
pathObjectFalseFalse
executeScriptBlockFalseFalse
Back To Function List
Name New-HTMLReportOptions
Synopsis New-HTMLReportOptions [-LogoSources ] [-ColorSchemes ] [-CSSName ] [-CSSPath ] [-ScriptPath ] [-ColorSchemePath ] [-LogoPath ] [-ReportPath ] [] New-HTMLReportOptions [-LogoSources ] [-ColorSchemes ] [-CSSName ] [-CSSPath ] [-ScriptPath ] [-ColorSchemePath ] [-LogoPath ] [-SaveOptionsPath ] [-ReportPath ] []
Remarks Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help.
Examples
ParameterSetNameTypeIsMandatoryPipeline
NoSave
LogoSourcesHashtableFalseFalse
ColorSchemesHashtableFalseFalse
CSSNameObjectFalseFalse
CSSPathStringFalseFalse
ScriptPathStringFalseFalse
ColorSchemePathStringFalseFalse
LogoPathStringFalseFalse
ReportPathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Save
LogoSourcesHashtableFalseFalse
ColorSchemesHashtableFalseFalse
CSSNameObjectFalseFalse
CSSPathStringFalseFalse
ScriptPathStringFalseFalse
ColorSchemePathStringFalseFalse
LogoPathStringFalseFalse
SaveOptionsPathStringFalseFalse
ReportPathStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Save-HTMLReport
Synopsis generation of report and invokes the file to open
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ReportNameStringFalseFalse
ReportPathStringFalseFalse
ReportContentArrayTrueFalse
ShowReportBooleanFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Save-HTMLToBlobStorage
Synopsis generation of report and invokes the file to open
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ReportContentArrayTrueFalse
resourceGroupNameStringTrueFalse
storageAccountNameStringTrueFalse
storageContainerNameStringTrueFalse
ReportPrefixStringFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Send-HTMLReport
Synopsis rudimentary send report via email function. Suggest finding more comprehensive function it must already exist :)
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ReportNameStringFalseFalse
ToStringFalseFalse
FromStringFalseFalse
SMTPServerStringFalseFalse
SMTPPortStringFalseFalse
BodyStringFalseFalse
RptfileObjectFalseFalse
CredentialsPSCredentialFalseFalse
StoredReportHashtableFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse
Back To Function List
Name Set-TableRowColor
Synopsis adds a row colour field to the array of object for processing with htmltable
Remarks
Examples
ParameterSetNameTypeIsMandatoryPipeline
Default
ArrayOfObjectsObject[]FalseFalse
GreenStringFalseFalse
YellowStringFalseFalse
RedStringFalseFalse
AlternatingBooleanFalseFalse
InformationActionActionPreferenceFalseFalse
InformationVariableStringFalseFalse
PipelineVariableStringFalseFalse